package modelo;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class IngredienteDAO extends ConexionDAO{
	


	public void AgregarIngrediente(Ingrediente ingrediente)
	{
		String tiraSQL = "INSERT INTO ingrediente "+"(inombre, idescripcion, istock, icodigo, istatus) "+
		 "VALUES ('"+ingrediente.getNombIngrediente()+"','"+ingrediente.getDescrip()+"' '"+ingrediente.getStock()+"','"+ingrediente.getCodIngrediente()+"', ,'"+'A'+"')";
		ConexionDAO.ejecutar(tiraSQL);	
	}
	public void ModificarIngrediente(Ingrediente ingrediente)
	{
		String tiraSQL = "UPDATE ingrediente SET (inombre ='"+ingrediente.getNombIngrediente()+"' idescripcion = '"+ingrediente.getDescrip()+"' istock ='"+ingrediente.getStock()+"') WHERE icodigo = '"+ingrediente.getCodIngrediente()+"' AND istatus = '"+'A'+"' ";
		ConexionDAO.ejecutar(tiraSQL);
	}
	public void EliminarIngrediente(Ingrediente ingrediente)
	{
		String tiraSQL = "UPDATE ingrediente SET istatus = '"+'E'+"' WHERE icodigo = '"+ingrediente.getCodIngrediente()+"' AND istock = '"+0+"'";
		ConexionDAO.ejecutar(tiraSQL);
	}
	public Ingrediente ConsultarIngrediente(String cod)
	{
		Ingrediente ingre = new Ingrediente();
		String tiraSQL = "SELECT * FROM ingrediente WHERE istatus = '"+'A'+"'"; //preguntarle a Carhil
		ResultSet resultSet = ConexionDAO.consultar(tiraSQL);
		try
		{
			resultSet.next();
			
			String nombre = resultSet.getString("inombre");
			String descrip = resultSet.getString("idescripcion");
			float sto = resultSet.getFloat("istock");
			String codi = resultSet.getString("icodigo");
			ingre = new Ingrediente(codi,nombre,descrip,sto);	
		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
		return ingre;
	}
	public void ActualizarStock(Ingrediente ingrediente, int cant)
	{
		String tiraSQL = "UPDATE ingrediente SET (istock ='"+ingrediente.getStock()+"' + cant) WHERE icodigo = '"+ingrediente.getCodIngrediente()+"' AND istatus = '"+'A'+"' ";
		ConexionDAO.ejecutar(tiraSQL);
	}
	public List<Ingrediente> consultar() {
		List<Ingrediente> ingredientes = new ArrayList<Ingrediente>();
		String tiraSQL = "SELECT * FROM ingrediente";
		ResultSet resultSet = ConexionDAO.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				
				String codigo = resultSet.getString("icodigo");
				String nombre = resultSet.getString("inombre");
				String descripcion = resultSet.getString("idescripcion");
				float stock = resultSet.getFloat("istock");
				Ingrediente ingrediente = new Ingrediente(codigo, nombre, descripcion, stock);
				ingredientes.add(ingrediente);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return ingredientes;
	}

}
